﻿namespace NDBGen.Plugins
{
    public abstract class FileGeneratorBase<TPluginData> : IFileGenerator<TPluginData>
        where TPluginData : IPluginData
    {
        public void Init(TPluginData pluginData)
        {
            this.PluginData = pluginData;
        }

        protected ParsedInput ParsedInput { get { return this.PluginData.ParsedInput; } }

        protected TPluginData PluginData { get; private set; }

        #region [ IGenerator Members ]

        ParsedInput IGenerator.ParsedInput
        {
            get { return this.ParsedInput; }
        }

        #endregion
        
        #region [ IGenerator Members ]

        IPluginData IGenerator.PluginData
        {
            get { return this.PluginData; }
        }

        #endregion
    }
}